package com.inspur.system.utils;

import com.inspur.common.core.domain.entity.SysUser;
import com.inspur.common.utils.ListUtils;
import com.inspur.common.utils.StringUtils;
import com.inspur.system.dto.PmWorkItemDTO;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Component
public class PmWorkItemUtils
{
    public static List<PmWorkItemDTO> queryType(List<PmWorkItemDTO> pmWorkItemDTOList, String cType, SysUser user) {
        List<PmWorkItemDTO> pmWorkItemDTOS = new ArrayList<>();
        if (StringUtils.isNotEmpty(cType)) {
            for (PmWorkItemDTO pmWorkItemDTO : pmWorkItemDTOList) {
                if ("1".equals(cType)) { // 我参与的
                    if (StringUtils.isNotEmpty(user.getProjectLink())) {
                        String [] cPmnNos = user.getProjectLink().split(",");
                        for (String cPmnNo : cPmnNos) {
                            if (pmWorkItemDTO.getcPmNo().equals(cPmnNo)) {
                                pmWorkItemDTOS.add(pmWorkItemDTO);
                            }
                        }
                    }
                } else if ("2".equals(cType)) { // 我创建的
                    if (pmWorkItemDTO.getcPmNo().equals(user.getCreateProject())) {
                        pmWorkItemDTOS.add(pmWorkItemDTO);
                    }
                } else if ("3".equals(cType)) { // 我负责的
                    if (StringUtils.isNotEmpty(user.getHeadProject())) {
                        String [] cPmnNos = user.getHeadProject().split(",");
                        for (String cPmnNo : cPmnNos) {
                            if (pmWorkItemDTO.getcPmNo().equals(cPmnNo)) {
                                pmWorkItemDTOS.add(pmWorkItemDTO);
                            }
                        }
                    }
                }
            }
        } else {
            ListUtils.listAddAll(pmWorkItemDTOS,pmWorkItemDTOList);
        }
        return pmWorkItemDTOS;
    }
}
